/**
 * 浅拷贝
 */
let arr = [1, 2, 3]

// 1.直接复制
// let arrCp = arr
// arrCp[0] = 9
// console.log(arr)

/**
 * 深拷贝
 */
// 1. ...展开运算符赋值
let arrCp1 = [...arr]
arrCp1[0] = 10
console.log(arr)

// 2. Array.from()
// let arrCp2 = Array.from(arr)
// arrCp2[0] = 11
// console.log(arr)

// slice(0)
// let arrCp3 = arr.slice(0)
// arrCp3[0] = 12
// console.log(arr)

function deepClone(arcArr) {
  let dirArr = []
  if (!Array.isArray(arcArr)) {
    return srcArr
  }

  for (let i of arcArr) {
    dirArr.push(i)
  }

  return dirArr
}

// let arrCp4 = deepClone(arr)
// arrCp4[0] = 13
// console.log(arrCp4)

